home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Languages / CW MacMindy 1.4 / Examples / QD3D-Viewer / QD3D-Library Sources / QD3DViewer.dyl < prev    next >
Encoding:
Text File  |  1995-07-16  |  14.9 KB  |  434 lines  |  [TEXT/CWIE]

  1. module: QD3DViewer
  2.  
  3. define module QD3DViewer
  4.     use Dylan;
  5.     use Extern;                            // imports "load-object-file", etc.
  6.     use Extensions;                        // for <boolean>.
  7.     use Toolbox;                        // Point, Rect, CGrafPtr, EventRecord.
  8.     use QD3DTypes;
  9.     
  10.     export
  11.         <TQ3ViewerObject>,
  12.         $kQ3ViewerShowBadge,
  13.         $kQ3ViewerActive,
  14.         $kQ3ViewerControllerVisible,
  15.         $kQ3ViewerDrawFrame,
  16.         $kQ3ViewerDraggingOff,
  17.         $kQ3ViewerButtonCamera,
  18.         $kQ3ViewerButtonTruck,
  19.         $kQ3ViewerButtonOrbit,
  20.         $kQ3ViewerButtonZoom,
  21.         $kQ3ViewerButtonDolly,
  22.         $kQ3ViewerDefault,
  23.         $kQ3ViewerEmpty,
  24.         $kQ3ViewerHasModel,
  25.         $gestaltQD3DViewerNotPresent,
  26.         $gestaltQD3DViewerAvailable,
  27.         Q3ViewerNew,
  28.         Q3ViewerDispose,
  29.         Q3ViewerUseFile,
  30.         Q3ViewerUseData,
  31.         Q3ViewerWriteFile,
  32.         Q3ViewerWriteData,
  33.         Q3ViewerDraw,
  34.         Q3ViewerEvent,
  35.         Q3ViewerGetPict,
  36.         Q3ViewerGetButtonRect,
  37.         Q3ViewerGetCurrentButton,
  38.         Q3ViewerSetCurrentButton,
  39.         Q3ViewerUseGroup,
  40.         Q3ViewerGetGroup,
  41.         Q3ViewerSetBackgroundColor,
  42.         Q3ViewerGetBackgroundColor,
  43.         Q3ViewerGetView,
  44.         Q3ViewerRestoreView,
  45.         Q3ViewerSetFlags,
  46.         Q3ViewerGetFlags,
  47.         Q3ViewerSetBounds,
  48.         Q3ViewerGetBounds,
  49.         Q3ViewerGetDimension,
  50.         Q3ViewerSetPort,
  51.         Q3ViewerGetPort,
  52.         Q3ViewerAdjustCursor,
  53.         Q3ViewerGetState,
  54.         Q3ViewerClear,
  55.         Q3ViewerCut,
  56.         Q3ViewerCopy,
  57.         Q3ViewerPaste
  58. end module QD3DViewer;
  59.  
  60. define constant anonymous-106
  61.   = load-object-file(#("QD3DViewerLib"), include: #("Q3ViewerNew", "Q3ViewerDispose", "Q3ViewerUseFile", "Q3ViewerUseData", "Q3ViewerWriteFile", "Q3ViewerWriteData", "Q3ViewerDraw", "Q3ViewerEvent", "Q3ViewerGetPict", "Q3ViewerGetButtonRect", "Q3ViewerGetCurrentButton", "Q3ViewerSetCurrentButton", "Q3ViewerUseGroup", "Q3ViewerGetGroup", "Q3ViewerSetBackgroundColor", "Q3ViewerGetBackgroundColor", "Q3ViewerGetView", "Q3ViewerRestoreView", "Q3ViewerSetFlags", "Q3ViewerGetFlags", "Q3ViewerSetBounds", "Q3ViewerGetBounds", "Q3ViewerGetDimension", "Q3ViewerSetPort", "Q3ViewerGetPort", "Q3ViewerAdjustCursor", "Q3ViewerGetState", "Q3ViewerClear", "Q3ViewerCut", "Q3ViewerCopy", "Q3ViewerPaste"));
  62.  
  63. define constant <TQ3ViewerObject> = <machine-pointer>;
  64.  
  65. define constant <anonymous-71> = limited(<integer>, min: 1, max: 742);
  66. define constant $kQ3ViewerShowBadge :: <anonymous-71> = 1;
  67. define constant $kQ3ViewerActive :: <anonymous-71> = 2;
  68. define constant $kQ3ViewerControllerVisible :: <anonymous-71> = 4;
  69. define constant $kQ3ViewerDrawFrame :: <anonymous-71> = 8;
  70. define constant $kQ3ViewerDraggingOff :: <anonymous-71> = 16;
  71. define constant $kQ3ViewerButtonCamera :: <anonymous-71> = 32;
  72. define constant $kQ3ViewerButtonTruck :: <anonymous-71> = 64;
  73. define constant $kQ3ViewerButtonOrbit :: <anonymous-71> = 128;
  74. define constant $kQ3ViewerButtonZoom :: <anonymous-71> = 256;
  75. define constant $kQ3ViewerButtonDolly :: <anonymous-71> = 512;
  76. define constant $kQ3ViewerDefault :: <anonymous-71> = 742;
  77.  
  78. define constant <anonymous-72> = limited(<integer>, min: 0, max: 1);
  79. define constant $kQ3ViewerEmpty :: <anonymous-72> = 0;
  80. define constant $kQ3ViewerHasModel :: <anonymous-72> = 1;
  81.  
  82. define constant <anonymous-73> = limited(<integer>, min: 0, max: 1);
  83. define constant $gestaltQD3DViewerNotPresent :: <anonymous-73> = 0;
  84. define constant $gestaltQD3DViewerAvailable :: <anonymous-73> = 1;
  85.  
  86. define constant anonymous-107
  87.   = constrain-c-function(find-c-function("Q3ViewerNew", file: anonymous-106), #(), #t, list(<TQ3ViewerObject>));
  88. define method Q3ViewerNew
  89.     (arg1 :: <CGrafPtr>, arg2 :: <Rect>, arg3 :: <integer>)
  90.  => (result :: <TQ3ViewerObject>);
  91.   let result-value
  92.     = anonymous-107(arg1, arg2, arg3);
  93.   values(result-value);
  94. end method Q3ViewerNew;
  95.  
  96. define constant anonymous-108
  97.   = constrain-c-function(find-c-function("Q3ViewerDispose", file: anonymous-106), #(), #t, list(<OSErr>));
  98. define method Q3ViewerDispose
  99.     (arg1 :: <TQ3ViewerObject>)
  100.  => (result :: <OSErr>);
  101.   let result-value
  102.     = anonymous-108(arg1);
  103.   values(result-value);
  104. end method Q3ViewerDispose;
  105.  
  106. define constant anonymous-109
  107.   = constrain-c-function(find-c-function("Q3ViewerUseFile", file: anonymous-106), #(), #t, list(<OSErr>));
  108. define method Q3ViewerUseFile
  109.     (arg1 :: <TQ3ViewerObject>, arg2 :: <integer>)
  110.  => (result :: <OSErr>);
  111.   let result-value
  112.     = anonymous-109(arg1, arg2);
  113.   values(result-value);
  114. end method Q3ViewerUseFile;
  115.  
  116. define constant anonymous-110
  117.   = constrain-c-function(find-c-function("Q3ViewerUseData", file: anonymous-106), #(), #t, list(<OSErr>));
  118. define method Q3ViewerUseData
  119.     (arg1 :: <TQ3ViewerObject>, arg2 :: <machine-pointer>, arg3 :: <integer>)
  120.  => (result :: <OSErr>);
  121.   let result-value
  122.     = anonymous-110(arg1, arg2, arg3);
  123.   values(result-value);
  124. end method Q3ViewerUseData;
  125.  
  126. define constant anonymous-111
  127.   = constrain-c-function(find-c-function("Q3ViewerWriteFile", file: anonymous-106), #(), #t, list(<OSErr>));
  128. define method Q3ViewerWriteFile
  129.     (arg1 :: <TQ3ViewerObject>, arg2 :: <integer>)
  130.  => (result :: <OSErr>);
  131.   let result-value
  132.     = anonymous-111(arg1, arg2);
  133.   values(result-value);
  134. end method Q3ViewerWriteFile;
  135.  
  136. define class <anonymous-79> (<statically-typed-pointer>) end;
  137.  
  138. define method pointer-value
  139.     (ptr :: <anonymous-79>, #key index = 0)
  140.  => (result :: <machine-pointer>);
  141.   pointer-at(ptr, offset: index * 4, class: <machine-pointer>);
  142. end method pointer-value;
  143.  
  144. define method pointer-value-setter
  145.     (value :: <machine-pointer>, ptr :: <anonymous-79>, #key index = 0)
  146.  => (result :: <machine-pointer>);
  147.   pointer-at(ptr, offset: index * 4, class: <machine-pointer>) := value;
  148.   value;
  149. end method pointer-value-setter;
  150.  
  151. define method content-size (value :: limited(<class>, subclass-of: <anonymous-79>)) => (result :: <integer>);
  152.   4;
  153. end method content-size;
  154.  
  155. define constant anonymous-112
  156.   = constrain-c-function(find-c-function("Q3ViewerWriteData", file: anonymous-106), #(), #t, list(<integer>));
  157. define method Q3ViewerWriteData
  158.     (arg1 :: <TQ3ViewerObject>, arg2 :: <anonymous-79>)
  159.  => (result :: <integer>);
  160.   let result-value
  161.     = anonymous-112(arg1, arg2);
  162.   values(result-value);
  163. end method Q3ViewerWriteData;
  164.  
  165. define constant anonymous-113
  166.   = constrain-c-function(find-c-function("Q3ViewerDraw", file: anonymous-106), #(), #t, list(<OSErr>));
  167. define method Q3ViewerDraw
  168.     (arg1 :: <TQ3ViewerObject>)
  169.  => (result :: <OSErr>);
  170.   let result-value
  171.     = anonymous-113(arg1);
  172.   values(result-value);
  173. end method Q3ViewerDraw;
  174.  
  175. define constant anonymous-114
  176.   = constrain-c-function(find-c-function("Q3ViewerEvent", file: anonymous-106), #(), #t, list(<boolean>));
  177. define method Q3ViewerEvent
  178.     (arg1 :: <TQ3ViewerObject>, arg2 :: <EventRecord>)
  179.  => (result :: <boolean>);
  180.   let result-value
  181.     = anonymous-114(arg1, arg2);
  182.   values(result-value);
  183. end method Q3ViewerEvent;
  184.  
  185. define constant anonymous-115
  186.   = constrain-c-function(find-c-function("Q3ViewerGetPict", file: anonymous-106), #(), #t, list(<PicHandle>));
  187. define method Q3ViewerGetPict
  188.     (arg1 :: <TQ3ViewerObject>)
  189.  => (result :: <PicHandle>);
  190.   let result-value
  191.     = anonymous-115(arg1);
  192.   values(result-value);
  193. end method Q3ViewerGetPict;
  194.  
  195. define constant anonymous-116
  196.   = constrain-c-function(find-c-function("Q3ViewerGetButtonRect", file: anonymous-106), #(), #t, list(<OSErr>));
  197. define method Q3ViewerGetButtonRect
  198.     (arg1 :: <TQ3ViewerObject>, arg2 :: <integer>, arg3 :: <Rect>)
  199.  => (result :: <OSErr>);
  200.   let result-value
  201.     = anonymous-116(arg1, arg2, arg3);
  202.   values(result-value);
  203. end method Q3ViewerGetButtonRect;
  204.  
  205. define constant anonymous-117
  206.   = constrain-c-function(find-c-function("Q3ViewerGetCurrentButton", file: anonymous-106), #(), #t, list(<integer>));
  207. define method Q3ViewerGetCurrentButton
  208.     (arg1 :: <TQ3ViewerObject>)
  209.  => (result :: <integer>);
  210.   let result-value
  211.     = anonymous-117(arg1);
  212.   values(result-value);
  213. end method Q3ViewerGetCurrentButton;
  214.  
  215. define constant anonymous-118
  216.   = constrain-c-function(find-c-function("Q3ViewerSetCurrentButton", file: anonymous-106), #(), #t, list(<OSErr>));
  217. define method Q3ViewerSetCurrentButton
  218.     (arg1 :: <TQ3ViewerObject>, arg2 :: <integer>)
  219.  => (result :: <OSErr>);
  220.   let result-value
  221.     = anonymous-118(arg1, arg2);
  222.   values(result-value);
  223. end method Q3ViewerSetCurrentButton;
  224.  
  225. define constant anonymous-119
  226.   = constrain-c-function(find-c-function("Q3ViewerUseGroup", file: anonymous-106), #(), #t, list(<OSErr>));
  227. define method Q3ViewerUseGroup
  228.     (arg1 :: <TQ3ViewerObject>, arg2 :: <TQ3GroupObject>)
  229.  => (result :: <OSErr>);
  230.   let result-value
  231.     = anonymous-119(arg1, arg2);
  232.   values(result-value);
  233. end method Q3ViewerUseGroup;
  234.  
  235. define constant anonymous-120
  236.   = constrain-c-function(find-c-function("Q3ViewerGetGroup", file: anonymous-106), #(), #t, list(<TQ3GroupObject>));
  237. define method Q3ViewerGetGroup
  238.     (arg1 :: <TQ3ViewerObject>)
  239.  => (result :: <TQ3GroupObject>);
  240.   let result-value
  241.     = anonymous-120(arg1);
  242.   values(result-value);
  243. end method Q3ViewerGetGroup;
  244.  
  245. define constant anonymous-121
  246.   = constrain-c-function(find-c-function("Q3ViewerSetBackgroundColor", file: anonymous-106), #(), #t, list(<OSErr>));
  247. define method Q3ViewerSetBackgroundColor
  248.     (arg1 :: <TQ3ViewerObject>, arg2 :: <TQ3ColorARGB>)
  249.  => (result :: <OSErr>);
  250.   let result-value
  251.     = anonymous-121(arg1, arg2);
  252.   values(result-value);
  253. end method Q3ViewerSetBackgroundColor;
  254.  
  255. define constant anonymous-122
  256.   = constrain-c-function(find-c-function("Q3ViewerGetBackgroundColor", file: anonymous-106), #(), #t, list(<OSErr>));
  257. define method Q3ViewerGetBackgroundColor
  258.     (arg1 :: <TQ3ViewerObject>, arg2 :: <TQ3ColorARGB>)
  259.  => (result :: <OSErr>);
  260.   let result-value
  261.     = anonymous-122(arg1, arg2);
  262.   values(result-value);
  263. end method Q3ViewerGetBackgroundColor;
  264.  
  265. define constant anonymous-123
  266.   = constrain-c-function(find-c-function("Q3ViewerGetView", file: anonymous-106), #(), #t, list(<TQ3ViewObject>));
  267. define method Q3ViewerGetView
  268.     (arg1 :: <TQ3ViewerObject>)
  269.  => (result :: <TQ3ViewObject>);
  270.   let result-value
  271.     = anonymous-123(arg1);
  272.   values(result-value);
  273. end method Q3ViewerGetView;
  274.  
  275. define constant anonymous-124
  276.   = constrain-c-function(find-c-function("Q3ViewerRestoreView", file: anonymous-106), #(), #t, list(<OSErr>));
  277. define method Q3ViewerRestoreView
  278.     (arg1 :: <TQ3ViewerObject>)
  279.  => (result :: <OSErr>);
  280.   let result-value
  281.     = anonymous-124(arg1);
  282.   values(result-value);
  283. end method Q3ViewerRestoreView;
  284.  
  285. define constant anonymous-125
  286.   = constrain-c-function(find-c-function("Q3ViewerSetFlags", file: anonymous-106), #(), #t, list(<OSErr>));
  287. define method Q3ViewerSetFlags
  288.     (arg1 :: <TQ3ViewerObject>, arg2 :: <integer>)
  289.  => (result :: <OSErr>);
  290.   let result-value
  291.     = anonymous-125(arg1, arg2);
  292.   values(result-value);
  293. end method Q3ViewerSetFlags;
  294.  
  295. define constant anonymous-126
  296.   = constrain-c-function(find-c-function("Q3ViewerGetFlags", file: anonymous-106), #(), #t, list(<integer>));
  297. define method Q3ViewerGetFlags
  298.     (arg1 :: <TQ3ViewerObject>)
  299.  => (result :: <integer>);
  300.   let result-value
  301.     = anonymous-126(arg1);
  302.   values(result-value);
  303. end method Q3ViewerGetFlags;
  304.  
  305. define constant anonymous-127
  306.   = constrain-c-function(find-c-function("Q3ViewerSetBounds", file: anonymous-106), #(), #t, list(<OSErr>));
  307. define method Q3ViewerSetBounds
  308.     (arg1 :: <TQ3ViewerObject>, arg2 :: <Rect>)
  309.  => (result :: <OSErr>);
  310.   let result-value
  311.     = anonymous-127(arg1, arg2);
  312.   values(result-value);
  313. end method Q3ViewerSetBounds;
  314.  
  315. define constant anonymous-128
  316.   = constrain-c-function(find-c-function("Q3ViewerGetBounds", file: anonymous-106), #(), #t, list(<OSErr>));
  317. define method Q3ViewerGetBounds
  318.     (arg1 :: <TQ3ViewerObject>, arg2 :: <Rect>)
  319.  => (result :: <OSErr>);
  320.   let result-value
  321.     = anonymous-128(arg1, arg2);
  322.   values(result-value);
  323. end method Q3ViewerGetBounds;
  324.  
  325. define class <anonymous-18> (<statically-typed-pointer>) end;
  326.  
  327. define method pointer-value
  328.     (ptr :: <anonymous-18>, #key index = 0)
  329.  => (result :: <integer>);
  330.   unsigned-long-at(ptr, offset: index * 4);
  331. end method pointer-value;
  332.  
  333. define method pointer-value-setter
  334.     (value :: <integer>, ptr :: <anonymous-18>, #key index = 0)
  335.  => (result :: <integer>);
  336.   unsigned-long-at(ptr, offset: index * 4) := value;
  337.   value;
  338. end method pointer-value-setter;
  339.  
  340. define method content-size (value :: limited(<class>, subclass-of: <anonymous-18>)) => (result :: <integer>);
  341.   4;
  342. end method content-size;
  343.  
  344. define constant anonymous-129
  345.   = constrain-c-function(find-c-function("Q3ViewerGetDimension", file: anonymous-106), #(), #t, list(<OSErr>));
  346. define method Q3ViewerGetDimension
  347.     (arg1 :: <TQ3ViewerObject>, arg2 :: <anonymous-18>, arg3 :: <anonymous-18>)
  348.  => (result :: <OSErr>);
  349.   let result-value
  350.     = anonymous-129(arg1, arg2, arg3);
  351.   values(result-value);
  352. end method Q3ViewerGetDimension;
  353.  
  354. define constant anonymous-130
  355.   = constrain-c-function(find-c-function("Q3ViewerSetPort", file: anonymous-106), #(), #t, list(<OSErr>));
  356. define method Q3ViewerSetPort
  357.     (arg1 :: <TQ3ViewerObject>, arg2 :: <CGrafPtr>)
  358.  => (result :: <OSErr>);
  359.   let result-value
  360.     = anonymous-130(arg1, arg2);
  361.   values(result-value);
  362. end method Q3ViewerSetPort;
  363.  
  364. define constant anonymous-131
  365.   = constrain-c-function(find-c-function("Q3ViewerGetPort", file: anonymous-106), #(), #t, list(<CGrafPtr>));
  366. define method Q3ViewerGetPort
  367.     (arg1 :: <TQ3ViewerObject>)
  368.  => (result :: <CGrafPtr>);
  369.   let result-value
  370.     = anonymous-131(arg1);
  371.   values(result-value);
  372. end method Q3ViewerGetPort;
  373.  
  374. define constant anonymous-132
  375.   = constrain-c-function(find-c-function("Q3ViewerAdjustCursor", file: anonymous-106), #(), #t, list(<boolean>));
  376. define method Q3ViewerAdjustCursor
  377.     (arg1 :: <TQ3ViewerObject>, arg2 :: <Point>)
  378.  => (result :: <boolean>);
  379.   let result-value
  380.     = anonymous-132(arg1, arg2);
  381.   values(result-value);
  382. end method Q3ViewerAdjustCursor;
  383.  
  384. define constant anonymous-133
  385.   = constrain-c-function(find-c-function("Q3ViewerGetState", file: anonymous-106), #(), #t, list(<integer>));
  386. define method Q3ViewerGetState
  387.     (arg1 :: <TQ3ViewerObject>)
  388.  => (result :: <integer>);
  389.   let result-value
  390.     = anonymous-133(arg1);
  391.   values(result-value);
  392. end method Q3ViewerGetState;
  393.  
  394. define constant anonymous-134
  395.   = constrain-c-function(find-c-function("Q3ViewerClear", file: anonymous-106), #(), #t, list(<OSErr>));
  396. define method Q3ViewerClear
  397.     (arg1 :: <TQ3ViewerObject>)
  398.  => (result :: <OSErr>);
  399.   let result-value
  400.     = anonymous-134(arg1);
  401.   values(result-value);
  402. end method Q3ViewerClear;
  403.  
  404. define constant anonymous-135
  405.   = constrain-c-function(find-c-function("Q3ViewerCut", file: anonymous-106), #(), #t, list(<OSErr>));
  406. define method Q3ViewerCut
  407.     (arg1 :: <TQ3ViewerObject>)
  408.  => (result :: <OSErr>);
  409.   let result-value
  410.     = anonymous-135(arg1);
  411.   values(result-value);
  412. end method Q3ViewerCut;
  413.  
  414. define constant anonymous-136
  415.   = constrain-c-function(find-c-function("Q3ViewerCopy", file: anonymous-106), #(), #t, list(<OSErr>));
  416. define method Q3ViewerCopy
  417.     (arg1 :: <TQ3ViewerObject>)
  418.  => (result :: <OSErr>);
  419.   let result-value
  420.     = anonymous-136(arg1);
  421.   values(result-value);
  422. end method Q3ViewerCopy;
  423.  
  424. define constant anonymous-137
  425.   = constrain-c-function(find-c-function("Q3ViewerPaste", file: anonymous-106), #(), #t, list(<OSErr>));
  426. define method Q3ViewerPaste
  427.     (arg1 :: <TQ3ViewerObject>)
  428.  => (result :: <OSErr>);
  429.   let result-value
  430.     = anonymous-137(arg1);
  431.   values(result-value);
  432. end method Q3ViewerPaste;
  433.  
  434.